package cn.alone.order.service;

import cn.alone.basic.service.IBaseService;
import cn.alone.basic.util.PageList;
import cn.alone.order.domain.AdoptOrder;
import cn.alone.order.query.AdoptOrderQuery;
import cn.alone.user.domain.Logininfo;

import java.util.Map;

public interface IAdoptOrderService extends IBaseService<AdoptOrder> {
    /**
     * 生成领养订单
     * @param params
     * @param currentLogininfo
     * @return
     */
    String submit(Map<String, Object> params, Logininfo currentLogininfo);

    PageList<AdoptOrder> user(AdoptOrderQuery query, Logininfo currentLogininfo);


    PageList<AdoptOrder> admin(AdoptOrderQuery query, Logininfo currentLogininfo);

    AdoptOrder queryById(Long businessKey);

    /**
     * 取消订单
     * @param orderId
     */
    void cancelOrderByQuartz(Long orderId);
}
